home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
filutil
/
direxe.zip
/
DIREXE.C
next >
Wrap
C/C++ Source or Header
|
1994-01-11
|
2KB
|
59 lines
#include <dirent.h> /* pour les fonctions opendir,readdir ... */
#include <string.h> /* pour la fonction strstr */
#include <stdio.h> /* pour printf */
#include <stdlib.h> /* pour exit */
#define EXE 0
#define COM 1
#define BAT 2
#define MAXEXE 100 /* nbr max d'entree dans la table des pointeurs */
void main () {
DIR *dirdes ;
struct dirent *filedes ;
const char *line = "────────────────────────────────────────────────────────────────────────────────" ;
int i , j , nbr [3] = {0,0,0} ;
char *p [3][MAXEXE] ; /* tableau a 2 dim de pointeur vers des string */
/* ouvre le flux du dir courant */
if ((dirdes = opendir (".")) == NULL) {
printf ("Warning, can't open the directory !!!") ;
exit (1) ;
}
/* ATTENTION, DOS RENVOIE LES NOMS DE DIR. EN MAJUSCULES */
while ((filedes = readdir (dirdes)) != NULL ) {
if (strstr (filedes->d_name,".EXE") != NULL) {
p [EXE][nbr [EXE]] = (char *) malloc (sizeof (char)*13) ;
strcpy (p [EXE][nbr [EXE]],filedes->d_name) ;
nbr [EXE]++ ;
} else if (strstr (filedes->d_name,".COM") != NULL) {
p [COM][nbr [COM]] = (char *) malloc (sizeof (char)*13) ;
strcpy (p [COM][nbr [COM]],filedes->d_name) ;
nbr [COM]++ ;
} else if (strstr (filedes->d_name,".BAT") != NULL) {
p [BAT][nbr [BAT]] = (char *) malloc (sizeof (char)*13) ;
strcpy (p [BAT][nbr [BAT]],filedes->d_name) ;
nbr [BAT]++ ;
}
}
closedir (dirdes) ;
/* affiche le resultat */
printf ("\nDirexe Coded By Sam In 1994 (C Version) - The Flamoots Production\n\n%s",line) ;
if (nbr[EXE] + nbr[COM] + nbr[BAT]) {
for (i=0 ; i <= 2 ; i++)
if (nbr [i]) {
for (j=0 ; j < nbr [i] ; j++) printf ("%16s",p [i][j]) ;
if (nbr [i] % 5) printf ("\n") ; /* 5 exec par ligne */
printf ("%s",line) ;
}
printf ("\nTotal executable(s) file(s) founded : %d\n",nbr[EXE]+nbr[COM]+nbr[BAT]) ;
} else
printf ("\nNo executables files where found !!!\n") ;
exit (0) ;
}